The invention relates generally to call centers or other call processing systems in which voice calls, e-mails, faxes, voice messages, text messages, Internet service requests or other types of communications are distributed among a number of service agents for handling.
Call centers distribute calls and other types of communications to available call-handling service agents in accordance with various predetermined criteria. In existing systems, the criteria for handling a call are often programmable by the operator of the system via a capability known as call vectoring. Typically, when the system detects that an agent has become available to handle a call, the system identifies the call-handling skills of the agent, usually in some order of priority, and delivers to the agent the longest-waiting call that matches the agent""s highest-priority skill. In addition, some conventional call distribution techniques focus on being xe2x80x9cfairxe2x80x9d to agents. This fairness may be reflected, for example, in the use of a xe2x80x9cmost-idle-agentxe2x80x9d agent selection process, for times when a surplus of agents is available to choose from.
Call centers often compute occupancy measures in order to maintain fairness in overall workload for a set of agents. These measures generally attempt to quantify how busy each of the agents are, and are taken into account in call distribution so as to maintain an even workload for these agents. For example, an agent may be selected to handle the next call if his or her occupancy on a percentage basis is lower than that of the other qualified agents.
A significant problem with the use of occupancy measures in conventional systems is that, under certain conditions, the exact measures may not adequately reflect the actual workload of a given agent. For example, when an agent logs in to the system at the beginning of a shift, occupancy measures computed in a conventional manner have a tendency to oscillate widely. In one existing system, the occupancy in percentage terms for a given agent is set automatically to 0% when that agent logs in. The occupancy for the given agent then jumps to a very high value, possibly as high as 100%, if soon after log-in there is a call for that agent to take. After the given agent is finished with the call, the occupancy will then decline until that agent is selected for another call, at which time the occupancy will again begin to rise. As a result of this type of oscillation, it can take an unduly long amount of time for an agent to establish a relatively stable occupancy level.
Similar problems can result when factors such as after call work and auxiliary work are incorporated into the occupancy calculation. This is particularly true if the amount of time associated with the after call work and auxiliary work is relatively large compared to the amount of time already accrued since the beginning of the calculation period. As an example, assume that a given agent attends a 60 minute training class at the start of a shift. Including the entire 60 minutes as valid work time in the occupancy calculation could cause that agent to not receive a call for many minutes after returning from the class. If the remaining agents had 80% occupancy, this agent might not get any calls for 15 minutes, since it might take that long for his or her occupancy to decline to 80%.
As is apparent from the above, there is a need for improved computation of occupancy measures in a call center, such that the resulting measures better reflect actual agent workload, particularly at agent log-in and in the presence of factors such as after call work and auxiliary work.
The invention generates occupancy measures for one or more agents in a call center in such a way that the above-noted problems associated with conventional occupancy computations are avoided. In an illustrative embodiment, a memory associated with the call center stores one or more values characterizing an occupancy measure determination for an agent or a set of agents, and the stored values are used in generating occupancy measures for the agents. The set of stored values for a given agent may include, for example, an initial occupancy value for the agent, expressed in terms of a percentage or in another suitable format. The occupancy measure for the agent may be set to the initial occupancy value upon a log-in by the agent, so as to avoid undue oscillation in the occupancy measure after log-in. The set of stored values for the given agent may also include, for example, limits relating to the impact of particular designated activities, such as after call work or auxiliary work performed by the agent, on the generation of the occupancy measure. Examples of such limits include a maximum amount of time which is to be considered as occupied time in generating the occupancy measure, or a maximum effect of a designated activity on the occupancy measure.
Advantageously, the invention permits an occupancy computation to be modified at the time an agent begins a shift and at other pre-designated events throughout the shift such that the resulting occupancy measures better reflect the actual workloads of the agents. More particularly, the use of an initial occupancy value and established limits on after call and auxiliary work contributions to occupancy can smooth out undesirable variations in occupancy computations. The invention thus provides more useful occupancy statistics, without the oscillations or other heavy effects that go beyond a reasonable definition of occupancy, for example, in applications in which occupancy is an enabler to a xe2x80x9cfairxe2x80x9d decision process. These and other features and advantages of the present invention will become more apparent from the accompanying drawings and the following detailed description.